home *** CD-ROM | disk | FTP | other *** search
/ PC-SIG Library 8 / PC-SIG Library CD-ROM (8th Edition) (1990-04).iso / 001_100 / disk0001 / menu.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1982-12-24  |  4.0 KB  |  94 lines

  1. 1000  ' Start of menu program
  2. 1001  REM PATRICK LEABO--TUSCON
  3. 1002  REM 3-14-82
  4. 1003  DEFINT A-Z:COMMON MENU
  5. 1004  KEY OFF:DIM TI$(20),FINAME$(20),GRA(20):TI$(1)="Switch Displays":GRA(1)=1:TI$(2)="Next Menu":GRA(2)=0:TI$(14)="Quit":GRA(14)=0
  6. 1005  DEF SEG:SCREEN 0,1:NOMENU = 2:POKE 106,0
  7. 1006  COLOR 7,0:IF MENU=0 THEN MENU=1
  8. 1010  CLS:DEF SEG=0:IF (PEEK(&H410) AND &H30) = &H30 THEN DSPMODE = 1 ELSE DSPMODE = 2
  9. 1015  DEF SEG = &H40:POKE &H17,64:DEF SEG
  10. 1020  DEF SEG :POKE 106,0:IF DSPMODE = 1 THEN WIDTH 80 ELSE WIDTH 40
  11. 1022  COLOR 7,0:LOCATE ,,0
  12. 1025  ON MENU GOSUB 2000,3000
  13. 1030  LOCATE 1,1:PRINT"KEY";STRING$(37,"THEN");"CLOSE";
  14. 1040  FOR N = 2 TO 22:LOCATE N,39:PRINT"OPEN";:NEXT N
  15. 1045  FOR N = 2 TO 22:LOCATE N,1:PRINT"OPEN";:NEXT N
  16. 1050  LOCATE 23,1:PRINT"SCREEN";STRING$(37,"THEN");"LOAD";
  17. 1060  LOCATE 2,5:PRINT"Patrick Leabo's fun DISK #1"
  18. 1070  LOCATE 3,10:PRINT TI$(0)
  19. 1075  L = 5:IF DSPMODE = 1 THEN GOSUB 9000
  20. 1080  FOR N=1 TO 14:
  21. 1090  LOCATE N +4,L:IF GRA(N)=0 THEN PRINT"  "; ELSE IF GRA(N)=1 THEN PRINT"* "; ELSE PRINT "< ";
  22. 1095  PRINT CHR$(N+64);". ";TI$(N)
  23. 1100  NEXT
  24. 1105  LOCATE 22,4:PRINT"* color required   < 80 character";
  25. 1110  LOCATE 20,26:PRINT"          ":LOCATE 20,6:PRINT "Press Your Choice  ";:COLOR 26,0:PRINT"?";:COLOR 7,0:WHILE INKEY$<>"":WEND
  26. 1115  CH$=INKEY$:IF CH$="" THEN 1115 ELSE PRINT CH$:CH=ASC(CH$):IF CH >78 THEN CH= CH-32
  27. 1120  IF CH<64 OR CH>78 THEN LOCATE 22,4:PRINT"SORRY-INVALID CHOICE !!!!!!       ":BEEP:FOR N=1 TO 2000:NEXT:GOTO 1105
  28. 1125  IF CH<>65 AND GRA(CH-64)=1 AND DSPMODE=1 THEN LOCATE 22,4:PRINT"WHOOPS-WRONG DISPLAY !!!!!!!       ":BEEP:FOR N=1 TO 2000:NEXT:GOTO 1105
  29. 1130  ON CH-64  GOTO 1140,1150
  30. 1132  IF CH=78 THEN LOCATE 22,4:PRINT"Bye. See you later !!!!!!!!       ";:BEEP:END
  31. 1133  IF FINAME$(CH-64)="" THEN LOCATE 22,4:PRINT"NO PROGRAM YET !!!!!!!!!!!!!       ":BEEP:FOR N=1 TO 2000:NEXT:GOTO 1105
  32. 1139  CHAIN FINAME$(CH-64),1000
  33. 1140  GOSUB 60000:CLS:GOTO 1010
  34. 1150  MENU = MENU + 1:IF MENU > NOMENU THEN MENU = 1
  35. 1160  GOTO 1010
  36. 2000  ' Menu # 1 Entries
  37. 2020  TI$(0)="Menu # 1"
  38. 2030  TI$(3)="Blackjack":FINAME$(3)="BLACKJCK":GRA(3)=2
  39. 2040  TI$(4)="Circles":FINAME$(4)="CIRCLES":GRA(4)=1
  40. 2050  TI$(5)="Donkey":FINAME$(5)="DONKEY":GRA(5)=1
  41. 2060  TI$(6)="Character Patterns":FINAME$(6)="DOTS":GRA(6)=0
  42. 2070  TI$(7)="Music":FINAME$(7)="MUSIC":GRA(7)=0
  43. 2080  TI$(8)="Space":FINAME$(8)="SPACE":GRA(8)=1
  44. 2090  TI$(9)="Othello":FINAME$(9)="OTHELLO":GRA(9)=2
  45. 2100  TI$(10)="Maxit":FINAME$(10)="MAXIT":GRA(10)=0
  46. 2110  TI$(11)="Hat Dance":FINAME$(11)="HATDANCE":GRA(11)=0
  47. 2120  TI$(12)="Kaleidascope":FINAME$(12)="KALEID":GRA(12)=0
  48. 2130  TI$(13)="Mortgage":FINAME$(13)="MORTGAGE":GRA(13)=0
  49. 2150  RETURN
  50. 3000  ' Menu # 2 Entries
  51. 3020  TI$(0)="Menu # 2"
  52. 3030  TI$(3)="Art":FINAME$(3)="ART":GRA(3)=1
  53. 3040  TI$(4)="Piechart":FINAME$(4)="PIECHART":GRA(4)=1
  54. 3050  TI$(5)="Ball":FINAME$(5)="BALL":GRA(5)=1
  55. 3060  TI$(6)="Color Bars":FINAME$(6)="COLORBAR":GRA(6)=1
  56. 3070  TI$(7)="Circles":FINAME$(7)="CIRCLE":GRA(7)=1
  57. 3080  TI$(8)="Strings":FINAME$(8)="STRINGS":GRA(8)=1
  58. 3090  TI$(9)="Wombat Math game":FINAME$(9)="WOMBAT":GRA(9)=2
  59. 3100  TI$(10)="Yahtzee":FINAME$(10)="YAHTZEE":GRA(10)=2
  60. 3110  TI$(11)="Pong-Pong":FINAME$(11)="PONGPONG":GRA(11)=2
  61. 3120  TI$(12)="Patterns":FINAME$(12)="PATTERNS":GRA(12)=1
  62. 3130  TI$(13)="Cribbage":FINAME$(13)="":GRA(13)=2
  63. 3150  RETURN
  64. 9000  REM 80 COLUMN FILLER
  65. 9005  YY=6:XX=44:M=1
  66. 9010  LOCATE YY+1,XX+M:PRINT"<0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>     <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>"
  67. 9020  LOCATE YY+2,XX+M:PRINT"<0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>     <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>"
  68. 9030  LOCATE YY+3,XX+M:PRINT"  <0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!><0xDF!>   <0xDF!><0xDF!><0xDF!><0xDF!>  "
  69. 9040  LOCATE YY+4,XX+M:PRINT"  <0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>      <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>  "
  70. 9050  LOCATE YY+5,XX+M:PRINT"  <0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>      <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>  "
  71. 9060  LOCATE YY+6,XX+M:PRINT"  <0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!>    <0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!>  "
  72. 9070  LOCATE YY+7,XX+M:PRINT"<0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>  <0xDF!>  <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>"
  73. 9080  LOCATE YY+8,XX+M:PRINT"<0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!> <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>   <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>     <0xDF!><0xDF!><0xDF!><0xDF!><0xDF!>"
  74. 9090  LOCATE YY+11,53:PRINT"PERSONAL COMPUTER"
  75. 9100  RETURN
  76. 59999  GOTO 59999
  77. 60000  ' PROGRAM TO SWITCH BETWEEN MONO AND COLOR DISPLAY
  78. 60005  DEF SEG=0:IF (PEEK(&H410) AND &H30) = &H30 THEN DSPMODE = 1 ELSE DSPMODE = 2
  79. 60010  ADAPTER = 0:DEF SEG = &HB000:POKE 0,63:IF PEEK(0) = 63 THEN ADAPTER = ADAPTER OR 1
  80. 60015  DEF SEG = &HB800:POKE 0,63:IF PEEK(0) = 63 THEN ADAPTER = ADAPTER OR 2
  81. 60020  DEF SEG
  82. 60025  IF ADAPTER <>3 THEN BEEP:PRINT"Sorry--other display isn't installed!!":GOSUB 60080:RETURN
  83. 60030  ON DSPMODE GOSUB 60035,60060:RETURN
  84. 60035  REM switch to color/graphics adapter
  85. 60040  KEY OFF:CLS:LOCATE 10,15:PRINT"using other screen--PRESS the A key to get back here!":LOCATE ,,0
  86. 60045  DEF SEG = 0:POKE &H410,(PEEK (&H410) AND &HCF) OR &H10:DEF SEG
  87. 60050  SCREEN 1,0:SCREEN 0,1:COLOR 1,0:WIDTH 40:COLOR 7,0
  88. 60055  LOCATE ,,1,6,7:RETURN
  89. 60060  REM switch to monochrome adapter
  90. 60065  KEY OFF:CLS:LOCATE 9,5:PRINT"Using other screen.":LOCATE 10,5:PRINT"PRESS the A key to get back here!":LOCATE ,,0
  91. 60070  DEF SEG = 0:POKE &H410,(PEEK(&H410) OR &H30):DEF SEG
  92. 60075  SCREEN 0:WIDTH 80:LOCATE ,,1,12,13:RETURN
  93. 60080  FOR N = 1 TO 3000:NEXT:RETURN:'DELAY
  94.